package daw1.programacion.ud12.adapter;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class TraductoresFactory {
	private ITraductor adaptador;
	private static TraductoresFactory traductoresFactory;
	public static TraductoresFactory getTraductoresFactory() {
		if (traductoresFactory==null){
			traductoresFactory=new TraductoresFactory();
		}
		return traductoresFactory;
	}
	private TraductoresFactory() {
		
	}

	public ITraductor getTraductorAdapter() {
		FileReader fileReader = null;

		// Carga del fichero
		try {
			fileReader = new FileReader(
					"src/daw1/programacion/ud12/adapter/dat/idioma.ini");
		} catch (FileNotFoundException e1) {
			System.out.println("Error al abrrir idioma.ini");
			e1.printStackTrace();
		}

		// Apertura del fichero
		BufferedReader bufferedReader = new BufferedReader(fileReader);

		String nombreAdaptador = "";
		try {
			nombreAdaptador = bufferedReader.readLine();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		// Carga del adaptador
		
		try {
			adaptador = (ITraductor) Class.forName(nombreAdaptador)
					.newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			bufferedReader.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return adaptador;
	}
}
